建立你的 Web Dashboard —— HTML / CSS / JavaScript 基礎

本章目標:讓你理解 網站如何構成、放在哪裡、如何讀取 Google Sheet 資料做圖表,為下一章 Dashboard 實作作準備。


1|為何要學 HTML、CSS、JavaScript?

Dashboard = 一個「網頁」。 網頁由三個部分組合:

1.1 HTML —— 結構(Structure)

範例:


1.2 CSS —— 外觀(Style)

範例:


1.3 JavaScript —— 邏輯(Logic)

範例:


2|靜態網站 vs 動態網站

同一個 Dashboard,可能有不同部署方式。 你需要理解「它屬於哪一類」。


2.1 靜態網站(Static Website)

特點:

適合:


2.2 動態網站(Dynamic Website)

特點:

你的 Dashboard 屬於:

前端靜態網站 + 後端 GAS API 取資料的混合模式。


3|Dashboard 應該放在哪裡?(ESP32?電腦?雲端?)

3.1 放 ESP32(不推薦)

ESP32 可以開 Web Server,但:

只適合:

控制面板(按鈕 / LED 開關演示),不適合資料視覺化。


3.2 放你的電腦(VS Code + Live Server)

優點:

缺點:

適合:

開發階段、教學階段。


3.3 放 GitHub Pages / Netlify / Vercel(最推薦)

優點:

注意:

完整資料鏈:

📘 小練習:建立你的第一個「本地網站」(Live Server)

目標:令你理解 HTML × CSS × JavaScript 如何在一個網頁中協同運作。 無需上載、無需 API、純本地。


✔ Step 1:建立 index.html

建立一個新資料夾(例如:F5X15 XXX),在裡面新增index.html

填入:

螢幕截圖 2025-11-19 18.19.30

✔ Step 2:下載live server

螢幕截圖 2025-11-19 18.03.59螢幕截圖 2025-11-19 18.26.01

下載並啟動 Live Server

✔ Step 3:驗證目標

  1. 你應該看到白底網頁+標題

  2. 打開 DevTools(按下F12) → Console → 看到「JS Loaded」

螢幕截圖 2025-11-19 18.31.58螢幕截圖 2025-11-19 18.31.05

 

✔ Step 4 :正規化你的HTML

在這個Project folder中,新增兩個檔案:script.jsstyle.css,將剛才的style和script部分,分別剪下貼回對應的檔(記得不需要<style> </style><script> </script>)

HTML請修改為標準HTML格式,將script和style都放在一開始的header中(VS Code中,只要打html,就會有下拉html5的選單,直接生成這個完整的HTML格式,不用自己打)

螢幕截圖 2025-11-19 19.26.01

常見HTML代碼

螢幕截圖 2025-11-19 20.17.52

🔧 練習 A:加一個按鈕,按下會改變頁面文字

index.html<body> 添加:

script.js加入:

重點技能:DOM 操作

🔧 練習 B:加 CSS 版面(最基本的 Layout 設計)

index.html<body> 添加:

style.css加入:

重點技能:CSS 區塊、邊框、置中、排版

🔧 練習 C:加入 JavaScript 計算(例如:即時計算平均值)

加入一個輸入框(請自行判斷要放在哪):

放在script.jswindow.onload = () =>之中(記得取代之後前btn onclick的內容,否則JS會誤會):

所學:

(為之後做圖表奠定基礎)

🔧 練習 D:讓文字變「動態時鐘」

請自行判斷要放在哪

請自行判斷要放在哪

所學:

之後接 IoT Realtime chart 就靠這種模式。

🔧 練習 E:加入「假資料」的迷你折線圖(純 JS)

不需要 Chart.js,只用 HTML + JS 即可,請自行判斷要放在哪

請自行判斷要放在哪

所學:

🔧 練習 F:請做到以下效果

螢幕截圖 2025-11-19 20.20.30

4|Dashboard 的整體架構(Big Picture)

fetch

Sensor

ESP32

HTTP POST

Google Apps Script

Google Sheet

HTML + CSS + JavaScript
(Dashboard)

你會做的事:

5|如何從 Google Sheet 取資料

打開上一堂建立的Google Sheet,如果資料數量不多, 請先手動加一點data,一會畫圖表較易看到效果,你可以用AI幫忙生成dummy數據。

螢幕截圖 2025-11-24 15.53.48

打開擴充功能--> App Script

螢幕截圖 2025-11-24 15.56.22

你之前已建立的 Apps Script(doPost)可以再新增一個doGet

螢幕截圖 2025-11-24 15.57.47

部署後,https://script.google.com/.../exec可以直接取得整份 Sheet 的 JSON。

螢幕截圖 2025-11-24 15.58.45螢幕截圖 2025-11-24 15.59.16

螢幕截圖 2025-11-24 15.59.37螢幕截圖 2025-11-24 16.00.18

將以下 JavaScript新增到你前端的script.js

看到資料成功輸出 console(F12),即代表下一步可以畫圖。

螢幕截圖 2025-11-24 16.08.30

6|用Dashboard劃出資料

在任何一個AI工具,輸入以下prompt,重點包括:數據來源、獲取機制、繪圖庫、 圖表類型、更新要求。

螢幕截圖 2025-11-24 16.23.44

之後就可以貼在前端上,觀察效果。

螢幕截圖 2025-11-24 17.38.37

在Google Sheet中加入數據,等一會,觀察一下折線圖是否有更新數據。

螢幕截圖 2025-11-24 17.40.30螢幕截圖 2025-11-24 17.41.01

當然,要做一個實時的數據監測,還是固定數據顯示的窗口(例如顯示最近一小時的數據),數據統計的直方圖、餅圖等,而Plotly.js的好處是已經內置了這此統計工具,用一句指令就能即時畫到一幅精美的統計圖。

7|本章總結